import { defineStore } from 'pinia';
import { ref, reactive, computed } from 'vue';
import useapi from '@/api/地址api'
import * as util from '@/amtf/utils'

export default defineStore('address', () => {
	const api = useapi()
	const 选中地址 = ref();

	const 单项组 = reactive([]);
	async function 初始化() {
		let res = await api.查()
		console.log('地址 初始化 查 res: ', res);
		if (res.code === 0) {
			let arr = res.data.list
			util.数组重予(单项组, arr)
		}
		
		if (!选中地址.value) {
			选中地址.value = 单项组.find((v) => v.默认否)
		}
	}
	初始化()


	// const 收件省市县 = (val) => {
	// 	return 选中地址.value.收件省份 + 选中地址.value.收件城市 + 选中地址.value.收件区域
	// };

	async function 增或改(item) {
		console.log('增或改 item: ', item);
		// 单项组.unshift(item)
		if (!item.id) {
			await api.增(item)
			初始化()
		} else {
			await api.改(item)
			// 返回上一页
			uni.navigateBack()
		}
	}


	const 删 = (id) => {
		console.log('删 id: ', id);
		uni.showModal({
			content: '确定删除么?',
			confirmColor: '#27BA9B',
			success: async (res) => {
				if (res.confirm) {
					let res = await api.删({ id })
					console.log('出错了 res: ', res);
					if (res.code != 0) {
						console.log('出错了 res: ', res);
					}
					初始化()
				}
			},
		})
	}

	// const onChangeAddress = (item) => {
	// 	// 修改地址
	// 	地址.change选中地址(item)
	// 	// 返回上一页
	// 	uni.navigateBack()
	// }

	const 显示否 = computed(() => {
		return 单项组.length > 0;
	})
	return {
		初始化,
		增或改,
		删,
		单项组,
		选中地址
	};
});